/**
 * 
 */
package name.yzhu.httpserver.handle;


import name.yzhu.httpserver.HttpRequestType;
import name.yzhu.httpserver.HttpReturnData;
import name.yzhu.httpserver.IHttpPermission;
import name.yzhu.httpserver.log.LogEntity;
import name.yzhu.httpserver.log.LogHandler;

/**
 * @author yhzhu
 *
 */
public interface HttpserverHandleProcess {
	public static int INVALID_DATA_TYPE = 1;
	
	public static int NOT_ALLOW_NULL = 2;

	public RequestParameter getRequstParameterFactory(HttpRequestType type);

	public LogHandler getLogHandler(HttpRequestType type);

	public IHttpPermission getHttpPermissionFactory();

	public void paraseRetData(HttpReturnData retData, LogEntity entity);

	public String getPattern();

	public HttpReturnData get(RequestParameter param);

	public HttpReturnData post(RequestParameter param);

	public HttpReturnData put(RequestParameter param);

	public HttpReturnData delete(RequestParameter param);

	public HttpReturnData getExceptionData(int invalidDataType, String string);
	
}
